【发布时间】:2023-04-09 04:51:02
【问题描述】:
我最近将数据库从 sql server 2000 数据库导入到 sql server 2005 数据库。我已经完成并设置了我认为与之前在旧数据库中设置的相同的登录凭据和所有者权限。
我正在使用的所有代码库都有存储过程,它们仅按存储过程名称列出。
为了确保创建了正确的登录名,我使用我的应用程序正在使用的连接信息(即使用用户名“licensemgr”及其关联的密码)登录 SQL Server Management Studio。当我使用组合登录时,我可以看到我的数据库中的所有表、存储过程等。当我尝试运行存储过程时,Sql Server Management Studio 使用以下语法来执行它:
EXEC: @return_value = [licensemgr].[Stored_Procedure_Name]
它执行没有错误。
如果我尝试删除 [licensemgr]。从 [Stored_Procedure_Name] 之前开始,但是我收到错误“找不到存储过程:Stored_Procedure_Name”。这与我从该数据库运行我的应用程序时遇到的错误相同。我将应用程序中的一个存储过程调用更改为“licensemgr”。在存储过程名称之前,这似乎可以解决问题,但是,我不想为我的应用程序中的每个存储过程调用都这样做。因此,我想知道我的 SQL Server 实例中可能缺少哪种类型的设置/权限类型问题,因此即使我以 licensemgr 身份登录数据库,我也看不到架构“licensemgr”中的存储过程。
【问题讨论】:
标签: sql-server sql-server-2005 stored-procedures