<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: SQL SERVER &#8211; Fix : Error : Msg 7311, Level 16, State 2, Line 1 Cannot obtain the schema rowset DBSCHEMA_TABLES_INFO for OLE DB provider SQLNCLI for linked server LinkedServerName</title>
	<atom:link href="http://blog.sqlauthority.com/2007/05/04/sql-server-fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sqlauthority.com/2007/05/04/sql-server-fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/</link>
	<description>Notes of a SQL Server MVP and Database Administrator</description>
	<lastBuildDate>Sat, 21 Nov 2009 05:54:09 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: sandrar</title>
		<link>http://blog.sqlauthority.com/2007/05/04/sql-server-fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-55781</link>
		<dc:creator>sandrar</dc:creator>
		<pubDate>Thu, 10 Sep 2009 19:43:38 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/04/fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-55781</guid>
		<description>Hi! I was surfing and found your blog post... nice! I love your blog.  :) Cheers! Sandra. R.</description>
		<content:encoded><![CDATA[<p>Hi! I was surfing and found your blog post&#8230; nice! I love your blog.  :) Cheers! Sandra. R.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DonK</title>
		<link>http://blog.sqlauthority.com/2007/05/04/sql-server-fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-55305</link>
		<dc:creator>DonK</dc:creator>
		<pubDate>Thu, 27 Aug 2009 13:21:46 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/04/fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-55305</guid>
		<description>Thanks for getting me down the right path.  While I couldn&#039;t get the osql command to work (on either end of the link), I was able to use kev_mck&#039;s solution and run the instcat.sql query directly in SSMS.  Everything is working now!</description>
		<content:encoded><![CDATA[<p>Thanks for getting me down the right path.  While I couldn&#8217;t get the osql command to work (on either end of the link), I was able to use kev_mck&#8217;s solution and run the instcat.sql query directly in SSMS.  Everything is working now!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alireza Kiaee</title>
		<link>http://blog.sqlauthority.com/2007/05/04/sql-server-fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-54971</link>
		<dc:creator>Alireza Kiaee</dc:creator>
		<pubDate>Tue, 18 Aug 2009 13:33:04 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/04/fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-54971</guid>
		<description>Dear Pinalkumar Dave

I had this problem and with using your tip, my problem was totally solved. Thank you very much!

Best Regards
Alireza Kiaee</description>
		<content:encoded><![CDATA[<p>Dear Pinalkumar Dave</p>
<p>I had this problem and with using your tip, my problem was totally solved. Thank you very much!</p>
<p>Best Regards<br />
Alireza Kiaee</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Savatar</title>
		<link>http://blog.sqlauthority.com/2007/05/04/sql-server-fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-52983</link>
		<dc:creator>Savatar</dc:creator>
		<pubDate>Fri, 12 Jun 2009 17:19:56 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/04/fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-52983</guid>
		<description>Followed kev_mck solution and ran the script on the 32bit SQL Server 2000 box

My linked Server  started working again from SQL Server 2005 box to the SQL Server 2000 box.</description>
		<content:encoded><![CDATA[<p>Followed kev_mck solution and ran the script on the 32bit SQL Server 2000 box</p>
<p>My linked Server  started working again from SQL Server 2005 box to the SQL Server 2000 box.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Savatar</title>
		<link>http://blog.sqlauthority.com/2007/05/04/sql-server-fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-52982</link>
		<dc:creator>Savatar</dc:creator>
		<pubDate>Fri, 12 Jun 2009 17:18:46 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/04/fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-52982</guid>
		<description>Followed kev_mck solution and ran the script on the 32bit SQL Server 2000 box</description>
		<content:encoded><![CDATA[<p>Followed kev_mck solution and ran the script on the 32bit SQL Server 2000 box</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kev_mck</title>
		<link>http://blog.sqlauthority.com/2007/05/04/sql-server-fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-51816</link>
		<dc:creator>kev_mck</dc:creator>
		<pubDate>Tue, 12 May 2009 13:38:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/04/fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-51816</guid>
		<description>This solution worked for me, however I went a slightly different route.

I opened up C:\Windows\System32\instcat.sql on my 64bit 2005 install, copied it and pasted it into a sql window connected to my 32bit sql 2000 install.

Ran the script and then my link started working again.

Thanks</description>
		<content:encoded><![CDATA[<p>This solution worked for me, however I went a slightly different route.</p>
<p>I opened up C:\Windows\System32\instcat.sql on my 64bit 2005 install, copied it and pasted it into a sql window connected to my 32bit sql 2000 install.</p>
<p>Ran the script and then my link started working again.</p>
<p>Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ashok</title>
		<link>http://blog.sqlauthority.com/2007/05/04/sql-server-fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-48022</link>
		<dc:creator>Ashok</dc:creator>
		<pubDate>Wed, 04 Mar 2009 13:39:46 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/04/fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-48022</guid>
		<description>Excellent, it works fine for me as I had the same problem between sql server 2000 32 bits and sql server 2005 64 bits.
thanks indeed.</description>
		<content:encoded><![CDATA[<p>Excellent, it works fine for me as I had the same problem between sql server 2000 32 bits and sql server 2005 64 bits.<br />
thanks indeed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mustaque Ahemed</title>
		<link>http://blog.sqlauthority.com/2007/05/04/sql-server-fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-46638</link>
		<dc:creator>Mustaque Ahemed</dc:creator>
		<pubDate>Fri, 13 Feb 2009 11:47:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/04/fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-46638</guid>
		<description>I have found the below error message during RPC using linked server.

Server: Msg 17, Level 16, State 1, Line 1
SQL Server does not exist or access denied.

or 

Login failed for sa


Please help me.</description>
		<content:encoded><![CDATA[<p>I have found the below error message during RPC using linked server.</p>
<p>Server: Msg 17, Level 16, State 1, Line 1<br />
SQL Server does not exist or access denied.</p>
<p>or </p>
<p>Login failed for sa</p>
<p>Please help me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Austin</title>
		<link>http://blog.sqlauthority.com/2007/05/04/sql-server-fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-45392</link>
		<dc:creator>Alex Austin</dc:creator>
		<pubDate>Tue, 06 Jan 2009 07:55:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/04/fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-45392</guid>
		<description>Thanks a lot Dave it really worked.</description>
		<content:encoded><![CDATA[<p>Thanks a lot Dave it really worked.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Imran Mohammed</title>
		<link>http://blog.sqlauthority.com/2007/05/04/sql-server-fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-43679</link>
		<dc:creator>Imran Mohammed</dc:creator>
		<pubDate>Mon, 13 Oct 2008 20:38:07 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/04/fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-43679</guid>
		<description>@ Subu, 

Only Logins can have passwords, users CAN NOT have passwords in any way.

Login is a permission to enter into SQL Server. That is why you need a password at the entry ( i.e. for logins). 

Once you enter into SQL Server, if you have access to any database you can access that database if you dont, you cannot access that database. So users will not have passwords.

Example to create a login: 

use master
create login imran with password = &#039;xyzabcdef&#039; , check_policy = off

Once you created a login, the login imran has permission to enter into SQL Server but imran still do not have access to any database, now you will create user and associate that user to login, something like this in the example.

use AdventureWorks
create user user_imran for login imran

Here I am asscociating user_imran ( name of the user ) to login imran. 

Now Login: Imran has access to AdventureWorks database. 

so Users can only be created when attached to logins. and users will not have any passwords, its just a name you associate to logins.

Exceptions:

There are always exceptions 

1. You can create a user without associating it to any login.

Example:
use AdventureWorks
create user imrant without login

The above script create a user imrant  with out login. You can make use of this user only when you enter into the sql server, you cannot use credentials of a user to enter into SQL Server. You must use your login credentials (login and password) to enter into the SQL Server and connect to AdventureWorks database and then you can make use of this user, as something like this

use AdventureWorks
execute as user=&#039;imrant &#039;
select user_name()

you will see result : imrant

revert -- to revert back the user 


2. You can have a password for a user, but that is called as Application Role. 

Application role is just a like a database user with a password.

BUT, you cannot associate application user to any login. 

You cannot enter into SQL Server using Application role credentials.

Application role is a vast concept, Let us take an example.

you have a front end application which uses SQL Server as its backend. The application uses  AdventureWorks database. 


You have one very important table, that you dont want users to access directly when then login into SQL Server. But the users need to insert data into this particular table. In this scenario when users should not have directly access to tables but only through applications, Application role play very important role. 

1. You create an application role in AdventureWorks database. This application role is given write permissions on a specific table which no other user has.

2. Front end application is configured to use this application role which you created with username and password in step 1.

3. Users first login into application using their login name and password ( authenticated by SQL Server ).

4. These users do not have write permission on a specific table.

5. When users run the application, and try to insert any record into this specific tables ( through front end application), the application uses this application role ( this application role has permission to write this table), This application role then connects to that database and performs the write operation on that table. 

Users even though do not have write permission to that table, can still write to the table using Application. if they login into SQL Server ( SSMS, Enterprize Manager) they cannot write to that table. 

And also you cannot enter into SQL Server ( SSMS, Enterprize Manager)  using Application role Credentials. So in those situations you can use application.

Hope this helps,
Imran.</description>
		<content:encoded><![CDATA[<p>@ Subu, </p>
<p>Only Logins can have passwords, users CAN NOT have passwords in any way.</p>
<p>Login is a permission to enter into SQL Server. That is why you need a password at the entry ( i.e. for logins). </p>
<p>Once you enter into SQL Server, if you have access to any database you can access that database if you dont, you cannot access that database. So users will not have passwords.</p>
<p>Example to create a login: </p>
<p>use master<br />
create login imran with password = &#8216;xyzabcdef&#8217; , check_policy = off</p>
<p>Once you created a login, the login imran has permission to enter into SQL Server but imran still do not have access to any database, now you will create user and associate that user to login, something like this in the example.</p>
<p>use AdventureWorks<br />
create user user_imran for login imran</p>
<p>Here I am asscociating user_imran ( name of the user ) to login imran. </p>
<p>Now Login: Imran has access to AdventureWorks database. </p>
<p>so Users can only be created when attached to logins. and users will not have any passwords, its just a name you associate to logins.</p>
<p>Exceptions:</p>
<p>There are always exceptions </p>
<p>1. You can create a user without associating it to any login.</p>
<p>Example:<br />
use AdventureWorks<br />
create user imrant without login</p>
<p>The above script create a user imrant  with out login. You can make use of this user only when you enter into the sql server, you cannot use credentials of a user to enter into SQL Server. You must use your login credentials (login and password) to enter into the SQL Server and connect to AdventureWorks database and then you can make use of this user, as something like this</p>
<p>use AdventureWorks<br />
execute as user=&#8217;imrant &#8216;<br />
select user_name()</p>
<p>you will see result : imrant</p>
<p>revert &#8212; to revert back the user </p>
<p>2. You can have a password for a user, but that is called as Application Role. </p>
<p>Application role is just a like a database user with a password.</p>
<p>BUT, you cannot associate application user to any login. </p>
<p>You cannot enter into SQL Server using Application role credentials.</p>
<p>Application role is a vast concept, Let us take an example.</p>
<p>you have a front end application which uses SQL Server as its backend. The application uses  AdventureWorks database. </p>
<p>You have one very important table, that you dont want users to access directly when then login into SQL Server. But the users need to insert data into this particular table. In this scenario when users should not have directly access to tables but only through applications, Application role play very important role. </p>
<p>1. You create an application role in AdventureWorks database. This application role is given write permissions on a specific table which no other user has.</p>
<p>2. Front end application is configured to use this application role which you created with username and password in step 1.</p>
<p>3. Users first login into application using their login name and password ( authenticated by SQL Server ).</p>
<p>4. These users do not have write permission on a specific table.</p>
<p>5. When users run the application, and try to insert any record into this specific tables ( through front end application), the application uses this application role ( this application role has permission to write this table), This application role then connects to that database and performs the write operation on that table. </p>
<p>Users even though do not have write permission to that table, can still write to the table using Application. if they login into SQL Server ( SSMS, Enterprize Manager) they cannot write to that table. </p>
<p>And also you cannot enter into SQL Server ( SSMS, Enterprize Manager)  using Application role Credentials. So in those situations you can use application.</p>
<p>Hope this helps,<br />
Imran.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: subu</title>
		<link>http://blog.sqlauthority.com/2007/05/04/sql-server-fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-43656</link>
		<dc:creator>subu</dc:creator>
		<pubDate>Sat, 11 Oct 2008 10:39:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/04/fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-43656</guid>
		<description>I want to set the password  for only database..how to do it.?</description>
		<content:encoded><![CDATA[<p>I want to set the password  for only database..how to do it.?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: vinod</title>
		<link>http://blog.sqlauthority.com/2007/05/04/sql-server-fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-39626</link>
		<dc:creator>vinod</dc:creator>
		<pubDate>Tue, 01 Jul 2008 08:08:02 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/04/fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-39626</guid>
		<description>Still the problem is not solved. the script ran on 32 bit server successfully. but still getting the same error. where i did mistake?

what should i give as the instance name? same server name or the server name of 64 bit? 

osql -U sa -P sa123$ -S &lt;i&gt; -i \instcat.sql&lt;/i&gt;</description>
		<content:encoded><![CDATA[<p>Still the problem is not solved. the script ran on 32 bit server successfully. but still getting the same error. where i did mistake?</p>
<p>what should i give as the instance name? same server name or the server name of 64 bit? </p>
<p>osql -U sa -P sa123$ -S <i> -i \instcat.sql</i></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel L</title>
		<link>http://blog.sqlauthority.com/2007/05/04/sql-server-fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-34104</link>
		<dc:creator>Daniel L</dc:creator>
		<pubDate>Tue, 04 Mar 2008 09:17:25 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/04/fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-34104</guid>
		<description>Thanks Dave, this is just what I need.</description>
		<content:encoded><![CDATA[<p>Thanks Dave, this is just what I need.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dikran</title>
		<link>http://blog.sqlauthority.com/2007/05/04/sql-server-fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-18308</link>
		<dc:creator>Dikran</dc:creator>
		<pubDate>Fri, 09 Nov 2007 15:02:49 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/04/fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-18308</guid>
		<description>Hi Dave,

Do you run this on the 64-big SQL Server 2005 Client or on the 32-bit SQL Server 2000?

Thanks,

Dikran</description>
		<content:encoded><![CDATA[<p>Hi Dave,</p>
<p>Do you run this on the 64-big SQL Server 2005 Client or on the 32-bit SQL Server 2000?</p>
<p>Thanks,</p>
<p>Dikran</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Roy Hasselman</title>
		<link>http://blog.sqlauthority.com/2007/05/04/sql-server-fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-11155</link>
		<dc:creator>Roy Hasselman</dc:creator>
		<pubDate>Tue, 04 Sep 2007 19:05:22 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/2007/05/04/fix-error-msg-7311-level-16-state-2-line-1-cannot-obtain-the-schema-rowset-dbschema_tables_info-for-ole-db-provider-sqlncli-for-linked-server-linkedservername/#comment-11155</guid>
		<description>Thanks Dave,

This was exactly my problem and the resolution appeared to work.

Thanks
Roy</description>
		<content:encoded><![CDATA[<p>Thanks Dave,</p>
<p>This was exactly my problem and the resolution appeared to work.</p>
<p>Thanks<br />
Roy</p>
]]></content:encoded>
	</item>
</channel>
</rss>
