相关疑难解决方法(0)

在 SQL Server 中使用架构的最佳实践有哪些?

我了解SQL Server 架构的功能,但最佳实践是什么?当然,它们提供了另一层安全性,并在数据库内提供数据库对象的逻辑分组,但那里的典型情况是什么?根据我的经验,我经常看不到许多定制的模式被利用。这是典型的吗?是不是应该使用自定义模式的不太频繁的场景?

schema sql-server-2008 sql-server

26
推荐指数
2
解决办法
2万
查看次数

“找不到存储过程”,即使已在 MS SQL Server Management Studio 中创建存储过程

testtable在数据库testbase中创建了一个具有以下结构的表:

product_no (int, not null)
product_name (varchar(30), not null)
price (money, null)
expire_date (date, null)
expire_time (time(7), null)
Run Code Online (Sandbox Code Playgroud)

我使用了 Microsoft SQL Server 2008 Management Studio。

我创建了一个存储过程testtable_pricesmaller如下

use testbase
go
create procedure testtable_pricesmaller
    @pricelimit money
as
select * from testtable where price = @pricelimit;
go
Run Code Online (Sandbox Code Playgroud)

并且能够查看Object ExplorerMicrosoft SQL Server Management Studio上的存储过程。(它在下面的树结构中列出Object Explorer

Databases
    + testbase
        + Tables
            + dbo.testtable
        + Programmability
            + Stored Procedures
                + dbo.testtable_pricesmaller
Run Code Online (Sandbox Code Playgroud)

当我收到以下错误时,我觉得很奇怪:

Could not find the …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 stored-procedures ssms

21
推荐指数
4
解决办法
17万
查看次数

未在 dbo 架构下创建表

在 SSMS 中创建表时,我意识到如果执行以下语句:

CREATE TABLE [tableName];
Run Code Online (Sandbox Code Playgroud)

该表将在您自己的架构(而不是 dbo)下创建。因此,为了在 dbo 模式下创建它,您需要明确说明,如下所示:

CREATE TABLE [dbo].[tableName];
Run Code Online (Sandbox Code Playgroud)

有谁知道一种方法(例如服务器范围的设置),以便在创建表时不需要指定 [dbo] 部分?

sql-server sql-server-2008-r2

18
推荐指数
2
解决办法
4万
查看次数