2010-11-18 165 views
0

我使用.NET SQL Server提供程序在C#中创建了一个数据库和一些表。当我打开SQL Server Management Studio时,我看到数据库;但桌子不在那里。如果我从我的应用程序中运行查询,查询将返回预期的结果;并且SQL Profiler显示create table命令正确执行。如果我将查询剪切粘贴到SQL Server Management Studio中,它们可以很好地执行,并且表格显示出来。SQL Server 2008创建表,在SQL Server Management Studio中不可见

我怀疑这是一个权限问题;但是我的.NET应用程序在连接字符串中使用SSPI,并且当我使用SQL Server Management Studio进行身份验证时,我使用登录的Windows帐户信用,因此他们应该使用相同的凭据。

我是否需要在SQL调用中显式设置表权限,或者我的假设是SSPI与登录的Windows信誉相同?

+1

您是在连接字符串还是在create语句中指定数据库名称?他们是否有可能在错误的数据库中创建?查看系统数据库\ Master,看看他们是否在那里。 – SqlACID 2010-11-18 22:48:09

+0

SqlACID:是的。 Bonehead错误。忘了连接字符串中的数据库:/ – Alan 2010-11-19 07:00:28

回答

0

的一点想法:

  • 没有帐户的权限,该模式中的新表是?
  • 你是否刷新了SSMS中的Tables目录? (傻,我知道)
+0

我没有刷新;但也许需要时间?它们是数据量有限的非常基本的表格。创建表的帐户默认情况下是否拥有模式的权限?如果不是,那很可能是我的问题! – Alan 2010-11-18 21:29:59

相关问题