I am trying to limit user access to data through a view. I have a database full of replicated data that I do not want the users to be able to access, I also have a reporting database in which I will create views on the replicated data that the users can access.  e.g. In database ReplData, I have a table refData(value int, source char(1)) with data values : 1, A 2, A 3, B 4, B  I want to use a view in a different database to limit users to just those rows with source = 'A'  So, in database Reporting, I have a view  use Reporting  go  create schema SourceA go  create view SourceA.refData  as    select * from ReplData.dbo.refData     where source = 'A' go  create user Steve for login Steve go  grant select on SourceA.refData to [Steve] go   However, when user 'Steve' connects to Reporting and tries to select from the view, he gets an error  Msg 916, Level 14, State 1 The server principal 'Steve' is not able to access the database 'ReplData' under the current security context   What have I missed?  [edit] The problem is not a select permission, it is a security context. If you can identify what I have missed, please do. I have turned cross database chaining on (see comments) but it has not resolved my issue.  [edit 2] So the issue was the method I was using to test the view, which was to 'execute as user'. When I set up a new user and connected to SSMS using those credentials, then the view worked fine.
SQL Server 2008 R2 SP1  My company uses the Great Plains (GP) financial system with several customizations.  Our Value-Added-Reseller (VAR) for GP has setup most of these customizations in a separate database from the GP data called DYNCUSTOM.  In the DYNCUSTOM database is a View that is merely a SELECT * FROM a table in the GP company database (called PARTS).  I was approached by a user having problems trying to select on this view.  The error he was getting:  Msg 229, Level 14, State 5, Line 2 SELECT permission denied on object 'BM010415', database 'PARTS', schema 'dbo'   I looked at how his login was mapped and he had a database user in the DYNCUSTOM database belonging to a database role that was granted select on the view.  However, he did not have a database user in the PARTS database.    Usually the intent of a view is so that one can grant select permissions on the view without exposing access to the underlying table.  With SQL Server however, if the view crosses databases does it then change the security context being used?  Therefore, the user would also need a database user in the PARTS database as well as granted select access to the underlying table?
Can I use Named Credential merge fields as URL parameters on the endpoint? I have a named credential as follows:  Name   Test_Credential URL    https://www.somesite.com Identity Type    Named Principal Authentication Protocol    Password Authentication Username   foobar Password   mySomeSiteDeveloperKey Generate Authorization Header   FALSE Allow Merge Fields in HTTP Header    TRUE Allow Merge Fields in HTTP Body     TRUE   The service that I am trying to authenticate against uses URL parameters to pass in the developer key and username. Is there any way to use  to pass those in to the URL?   The Named Credential attributes seem not to get decoded until the request is actually sent, as debugging the endpoint, or headers if I set them per the linked doc, show the un-merged data. I can get the callout to go to the right place, and return the expected error because the auth information is not provided. Anybody know of a "show me my HTTP request" site that I could point to to get a better idea of how this works?  I've tried both of these:  req.setEndpoint('callout:Test_Credential/api/action?id={!$Credential.Password}&amp;account={!$Credential.UserName}');  req.setEndpoint('callout:Test_Credential/api/action' + '?id=' + '{!$Credential.Password}' + '&amp;account=' + '{!$Credential.UserName}');   (Edited to remove the part about $Credential vs. $Test_Credential as I was able to determine that it is the former, and see the merged creds by calling out to .) Magic leaves "smudges" and a sorceress becomes a book I could use some help identifying a book I read some time in the last year or so. The book goes between two different stories:  1) A student of magic finds a book in a cave that turns out to be a person transformed into a book. The book talks to the student and they share thoughts. At some point, the student runs away, chase ensues, and at the very end of the book, he manages to travel to another plane.  2) A girl in a religious society where magic is forbidden. She is the daughter of painters. She discovers she can see magic. Falls in love with some random painter, risks performing magic to not be pregnant, does it again so she can, and is arrested and sent to some prison thing.  The common element between the stories is that magic use leaves behind a smudge of some kind that can be visible.  Any assistance is appreciated. Cite_key instead of a number, what is going on? I have the following problem: I correctly obtain a numbered bibliography at the end but along the text the cite_key appear instead of a number. How to fix this problem?   \documentclass[11pt]{book}  \usepackage[]{biblatex} \begin{document} %some text  ... \cite{ABKM2015}... %some text  \begin{thebibliography}{99} \bibitem{ABKM2015} Arroja, F. and Bartolo, N. and Karmakar P. and Matarrese, S. (2015). \newblock The Two Faces of Mimetic Horndeski Gravity             \newblock {\em ArXiV}, 1506.08575 (2015). \end{thebibliography} \end{document}   After compiling I get ... [ABKM2015] ... while I want for example  [1]. How do you make corrections to a published paper? How to determine function name from inside a function Is there a way to determine the device running an application. I want to distinguish between iPhone and iPod Touch, if possible. Determine the size of a C++ array programmatically? This question was inspired by a similar question:   My question is a little different:  Is there any way to determine the size of a C++ array programmatically?  And if not, why?  Every function I've seen that takes an array also requires an integer parameter to give it the size.  But as the linked question pointed out, delete[] must know the size of the memory to be deallocated.  Consider this C++ code:  int* arr = new int[256]; printf("Size of arr: %d\n", sizeof(arr));   This prints "Size of arr: 4", which is just the size of the pointer.  It would be nice to have some function which prints 256, but I don't think one exists in C++.  (Again, part of the question is why it doesn't exist.)  Clarification: I know that if I declared the array on the stack instead of the heap (i.e. "int arr[256];") that the sizeof operator would return 1024 (array length * sizeof(int)). I don't want to use the Super for that, I want to use Alt+Space instead. Why does the co-efficent of kinetic friction of a block on an inclined plane not change when you increase the angle of the plane? Explanation of seasons in "A Song of Ice and Fire" How do I wire two lights with a switch? NEWID() In Joined Virtual Table Causes Unintended Cross Apply Behavior My actual work query was an inner join, but this simple example with cross join seems to nearly always reproduce the problem.  SELECT * FROM (     SELECT 1 UNION ALL     SELECT 2 ) AA ( A ) CROSS JOIN (     SELECT NEWID() TEST_ID ) BB ( B )   With my inner join I had many rows for which I added to each a GUID using the NEWID() function, and for about 9 out of 10 such rows the multiplication with the 2-row virtual table produced the expected results, just 2 copies of the same GUID, while 1 out of 10 would produce different results. This was unexpected to say the least and gave me a really hard time trying to find this bug in my test data generation script.  If you take a look at the following queries using as well non-deterministic getdate and sysdatetime functions, you won't see this, I don't anyway-I always see the same datetime value in both final result rows.  SELECT * FROM (     SELECT 1 UNION ALL     SELECT 2 ) AA ( A ) CROSS JOIN (     SELECT GETDATE() TEST_ID ) BB ( B )  SELECT * FROM (     SELECT 1 UNION ALL     SELECT 2 ) AA ( A ) CROSS JOIN (     SELECT SYSDATETIME() TEST_ID ) BB ( B )   I'm currently using SQL Server 2008 and my work around for now is to load my rows with GUIDs into a table variable before finishing out my random data generation script. Once I have them as values in a table as opposed to virtual table, the problem goes away.  I have a workaround, but I'm looking for the ways to workaround without actual tables or table variables.  While writing this I tried without success these possibilities: 1) placing the newid() into a nested virtual table:  SELECT * FROM (     SELECT 1 UNION ALL     SELECT 2 ) AA ( A ) CROSS JOIN (     SELECT TEST_ID     FROM (         SELECT NEWID() TEST_ID     ) TT ) BB ( B )   2) wrapping the newid() within a cast expression such as:  SELECT CAST(NEWID() AS VARCHAR(100)) TEST_ID   3) reversing the order of appearance of the virtual tables within the join expression  SELECT * FROM (     SELECT NEWID() TEST_ID ) BB ( B ) CROSS JOIN (     SELECT 1 UNION ALL     SELECT 2 ) AA ( A )   4) using uncorrelated cross apply  SELECT * FROM (     SELECT NEWID() TEST_ID ) BB ( B ) CROSS APPLY (     SELECT 1 UNION ALL     SELECT 2 ) AA ( A )   Just before finally posting this question, now I tried this with success it seems, a correlated cross apply:  SELECT * FROM (     SELECT NEWID() TEST_ID ) BB ( B ) CROSS APPLY (     SELECT A     FROM (         SELECT 1 UNION ALL         SELECT 2     ) TT ( A )     WHERE BB.B IS NOT NULL ) AA ( A )   Anyone have any other more elegant, simpler workaround? I really don't want to use cross apply or correlation for a simple row multiplication if I don't have to. Sci-Fi Movie/Show Where a Soul is Captured in a Glass Vessel What is the probability that the selected function maps prime numbers to prime numbers? Let $X = \{1, 2, 3, . . . , 25\}$. If a student selects a function randomly from the set of all functions from $X$ onto $X$, then what is the probability that the selected function maps prime numbers to prime numbers ? No idea how to proceed, please guide. When should you use a class vs a struct in C++? In what scenarios is it better to use a struct vs a class in C++? How to fix "Package is in a very bad inconsistent state" error? I can't update my system because it freezes while installing a third-party update (zramswap-enabler)! Sometimes I get the following message in Update manager:  Could not initialize the package information An unresolvable problem occurred while initializing the package information. Please report this bug against the 'update-manager' package and include the following error message: E:The package zramswap-enabler needs to be reinstalled, but I can't find an archive for it.  I tried to remove the zramswap-enabler, but it's impossible because I get the following message: dpkg: error processing zramswap-enabler (--remove):  Package is in a very bad inconsistent state - you should  reinstall it before attempting a removal. Errors were encountered while processing:  zramswap-enabler E: Sub-process /usr/bin/dpkg returned an error code (1)  Actually I would really reinstall that package, but it is unable to do it! If I remove this third-party PPA then the system is warning me about a very very serious problem. So why can I not install/reinstall/remove/update this package and why freezes the updater if I try to update? Reviewer Stats showing wrong count I have totally reviewed 716 suggested edits, but it shows I've approved 486 suggestions and rejected 228.     I searched about it on meta. But, can't get solution. I thought that some of my reviewed posts might get deleted. So, I went to the review history and found      .   It should be a bug. $L^p$ and $L^q$ space inclusion Let $(X, \mathcal B, m)$ be a measure space.  For $1 \leq p &lt; q \leq \infty$, under what condition is it true that $L^q(X, \mathcal B, m) \subset L^p(X, \mathcal B, m)$ and what is a counterexample in the case the condition is not satisfied? How to convert milliseconds into human readable form? I need to convert an arbitrary amount of milliseconds into Days, Hours, Minutes Second.  For example: 10 Days, 5 hours, 13 minutes, 1 second. How long will foods that have "Best by: XX-XX-XX" on the product last past that date?  I have tried looking online, and all I can find is anecdotal evidence, which isn't very assuring for me since there seems to be no specific "x food will expire y weeks after its best by date".  Is there a rule of thumb or some guide out there that can tell me how long a "best by" food will last? Or is it safe to assume that they never expire, since it's not actually labelled on the product?