小编Ric*_*ard的帖子

没有参数的 EXEC() 和 sp_executesql 之间的区别?

我刚刚了解了新的 sp_executesql 存储过程。我喜欢有一种方法可以从 SQL Server 中执行参数化代码。

但是,我想知道在没有任何参数时使用 sp_executesql 存储过程与直接调用 EXEC 之间有什么区别。另外,是否有性能影响?

exec('select * from line_segment')
exec sp_executesql N'select * from line_segment'
Run Code Online (Sandbox Code Playgroud)

另外,2005 年和 2008 年之间是否存在差异,或者它们的处理方式是否相同?

sql-server-2005 sql-server-2008 t-sql

10
推荐指数
1
解决办法
1万
查看次数

了解 SQL Server 权限

我正在 SQL Server Management Studio 中针对我的 SQL Server 2008 R2 Express Edition 实例。我试图了解权限是如何工作的。

我能看到的是(通过许多这些实体的属性)

  1. 我的服务器登录可以链接到数据库用户
  2. 我的数据库用户可以拥有一个或多个数据库角色
  3. 数据库角色之一是 db_datawriter,它拥有架构 db_datawriter

然而,在那一点上,小路变冷了。架构 db_datawriter 在其属性下有一个空白的权限页面。

什么精确定义了架构 db_datawriter 的权限是什么?

security sql-server sql-server-2008-r2

8
推荐指数
1
解决办法
2419
查看次数

使用单个 SQL 语句查找 HierarchyId 的所有祖先节点?

我正在尝试找到一种使用 HierarchyID 获取给定节点的所有祖先节点的方法。我见过的每个使用 HierarchyID 的解决方案似乎都使​​用 CTE 或变量。有没有办法使用单个 select 语句来做到这一点?

为了让事情更简单:

CREATE TABLE Employee
(
    EmpId INT PRIMARY KEY IDENTITY,
    EmpName VARCHAR(100) NOT NULL,
    Position HierarchyID NOT NULL
)

INSERT INTO Employee (EmpName, Position)
VALUES ('CEO', '/'),
    ('COO', '/1/'),
    ('CIO', '/2/'),
    ('CFO', '/3/'),
    ('VP Financing', '/3/1/'),
    ('Accounts Receivable', '/3/1/1/'),
    ('Accountant 1', '/3/1/1/1/'),
    ('Accountant 2', '/3/1/1/2/'),
    ('Accountant 3', '/3/1/1/3/'),
    ('Accounts Payable', '/3/1/2/'),
    ('Accountant 4', '/3/1/2/1/'),
    ('Accountant 5', '/3/1/2/2/'),
    ('DBA', '/2/1/'),
    ('VP of Operations', '/1/1/')
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 t-sql

7
推荐指数
1
解决办法
9797
查看次数

故障期间的事务和数据一致性

当数据库开始一个事务时,在该事务中执行的所有语句都是孤立的和原子的(一致和持久的)。这些几乎是交易的定义。

维基百科指出,有一些数据库通过锁定行并在事务提交之前不解锁它们来确保事务保持隔离。

我的问题是:完全依赖锁的数据库如何保证一致性?如果在事务中间发生断电,则可能会有部分数据写入该行。

即使对于像 SQL Server 这样使用临时数据库来执行所有事务的数据库,如果在数据库将事务提交到磁盘时发生断电,会发生什么?

数据是否已损坏或数据库是否正确处理?

transaction database-theory

7
推荐指数
1
解决办法
3144
查看次数

什么是“Oracle 上的 SAP”

好的,完全是新手问题。

究竟什么是“Oracle 上的 SAP”。 这个链接谈论的是 SAP 如何在 Oracle 上运行(我认为)。

我不明白这是如何工作的。

我的理解:

  • SAP是一家提供ERP的公司

  • Oracle 是一个数据库系统。

我以为他们是竞争对手!那么,SAP on Oracle 是否在 Oracle 上运行 ERP 系统?这里运行的是什么,在这种情况下 DBA 会支持什么?(或者这甚至是 DBA 领域?)

我这么问是因为我申请了一份更喜欢“SAP”经验的工作,我在谷歌搜索中遇到了这个“SAP on Oracle”。

oracle sap

7
推荐指数
1
解决办法
339
查看次数

如何保护我的数据库代码?

我们有很多专有的数据库代码,它们使用“WITH ENCRYPTION”选项简单地加密。不幸的是,这是一种非常弱的保护数据库代码的方法

有没有更好的方法来保护数据库代码?

我们目前使用的是 SQL Server 2005,如果有帮助的话,但我们正在迁移到 SQL Server 2008 R2。

security sql-server

6
推荐指数
1
解决办法
318
查看次数

NUMA 到底有多大影响?

我正在阅读非统一内存访问 (NUMA),我想知道它到底能带来多大的不同?换句话说,在这变得有益之前需要什么水平的吞吐量?

此外,当您想要一个具有多个系统总线的系统时,您需要寻找什么类型的服务器?

performance sql-server numa

5
推荐指数
1
解决办法
199
查看次数

如何使用 ETL?

我知道这些字母表示提取、转换和加载。

但是,当我一开始使用它时,我认为在转换阶段我可以对从数据源中提取的数据进行大量不同的连接,后来我意识到在不同的 ETL 上进行连接并不是那么方便.

  • 那么我们在转换阶段做什么?
  • 计算并输出结果 ?
  • 字符串转换?
  • 输入数据源应该只是 csv、xml 还是普通文件?
  • 如果连接不是那么方便,我们是否应该只在 ETL 中进行高级转换?

谢谢

etl

3
推荐指数
1
解决办法
1397
查看次数

SQL Server DATEDIFF:dayofyear 与 day 有何不同?

当我查看SQL Server 上的DATEDIFF()函数时,我发现它采用datepart作为其第一个参数。

可能的日期部分值包括daydayofyear

据我了解,dayofyear是一年中的第几天(例如,2 月 2 日是 33),day是该月的第几天(因此 2 月 2 日是 2)。但是,我不明白 DATEDIFF 函数的区别。

这里有些例子:

select DATEDIFF(dayofyear, '2012-01-01', '2012-02-02')
returns: 32

select DATEDIFF(day, '2012-01-01', '2012-02-02')
returns: 32

select DATEDIFF(dayofyear, '2011-02-01', '2012-02-02')
returns: 366

select DATEDIFF(day, '2011-02-01', '2012-02-02')
returns 366
Run Code Online (Sandbox Code Playgroud)

对于 DATEDIFF() 而言,dayofyearday是否等效?

sql-server t-sql

3
推荐指数
1
解决办法
5500
查看次数

如何更改 SQL Server 2000 中数据文件的位置?

我在集群环境中有一台旧的 SQL Server 2000 机器。数据文件位于磁盘 S: 上,磁盘空间不足。我有另一个磁盘 B: 在有很多空间的同一个磁盘阵列中。我希望 SQL Server 使用磁盘 B: 而不是磁盘 S:

如何设置 SQL Server 将数据文件存储在磁盘 B 上?

任何帮助将不胜感激。

谢谢。

sql-server sql-server-2000

2
推荐指数
1
解决办法
3946
查看次数

1
推荐指数
1
解决办法
479
查看次数