In this code I am converting the subjects(columns) English , Hindi , Sanskrith , into rows
DECLARE @colsUnpivot AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
select @colsUnpivot
=stuff(
(select ',' + quotename (C.name)
from sys.columns c
where c.object_id = OBJECT_ID('dbo.result2')
for xml path(''), TYPE) .value('.', 'NVARCHAR(MAX)'),
1, 8, ''
);
print @colsunpivot
select @query
= 'select Name, Subject,Marks
from result2
unpivot
(
marks for subject in (' + @colsunpivot + ')) as tab'
exec sp_executesql @query;
Run Code Online (Sandbox Code Playgroud)
Please explain what does for xml …
我一直想知道为事务日志记录生成日志序列号的算法,我担心如果工作负载足够大,可能会用完日志序列号。
在这种情况下会发生什么?
我已经使用Get-MSSQLLinkPasswordsPowershell 脚本很长时间了,它提供了巨大的帮助。该脚本解密特定 Windows 服务器上所有链接服务器的密码,并以纯文本形式显示给您。此功能甚至已合并到dbatools Copy-SqlLinkedServer脚本中。
运行脚本有一些安全注意事项,如下所示
该脚本必须在 MSSQL 服务器上本地运行(因为 DPAPI 需要访问本地机器密钥)。执行脚本的用户还必须具有对所有数据库实例(用于 DAC 连接)的 sysadmin 访问权限和 Windows 服务器上的本地管理员权限(以访问注册表中的熵字节)。此外,如果启用了 UAC,则必须以管理员身份运行该脚本。
在最近升级到 SQL Server 2016 之前,此脚本一直运行良好。我想知道是否有人在 SQL Server 2016 下遇到过此脚本的任何问题。也许 SQL Server 2016 中的某些安全模型已更改,并且此脚本无法解密密码现在。
如果时间允许,我将尝试查看该dbatools Copy-SqlLinkedServer脚本是否仍然适用于 2016 年。
sql-server powershell linked-server sql-server-2016 dbatools
我们在我们的 SQL Server 环境中使用Ola Hallengren的SQL Server 备份解决方案。今天,有 2 个数据库处于SUSPECT模式,无法对它们进行备份。一项作业计划备份这些数据库(其中两个处于可疑模式)和另一个数据库。在线数据库的备份已完成,因为它是按字母顺序排列的第一个,对于其他两个,它失败了。但是,作业并没有失败,并且显示作业成功!如果该作业无法备份任何数据库,则该作业应该失败。
https://i.stack.imgur.com/n8Ww1.png
来自日志的消息:
Date and time: 2018-03-18 03:12:55
Database: [ABC]
Status: SUSPECT
Standby: No
Updateability: READ_WRITE
User access: MULTI_USER
Recovery model: FULL
Differential base LSN: 5334862000009909000054
Last log backup LSN: N/A
Date and time: 2018-03-18 03:12:55
Database: [CDE]
Status: SUSPECT
Standby: No
Updateability: READ_WRITE
User access: MULTI_USER
Recovery model: FULL
Differential base LSN: 4543119000022597000098
Last log backup LSN: N/A
Date and time: 2018-03-18 …Run Code Online (Sandbox Code Playgroud) 我研究了使用 SQL Server 代理和维护计划(导致 SQL Server 代理)计划备份。
我首先关心的是,安排备份的最佳方式是什么?
我想要每天完整备份,每小时差异备份和每 15 分钟事务日志备份。
我的第二个担忧是,这是一个好的做法吗?
我在使用 SQL Server 代理时发现了一个问题。我的完整和差异备份被覆盖。我可以覆盖完整备份但不能覆盖差异,因为当我需要恢复它时,我只会有一个差异备份,这不是差异备份的目的。
我怎么能不让它覆盖以前的备份?
最后一个关心和问题是关于实现备份调度的方式。我将使用维护计划,并且可能会安排三个不同的备份。一种是完整的,一种是差异化的,一种是跨国的。
这是用户每天使用的数据库的最佳实践吗?(每天至少 2000 笔交易)
我需要在我的项目中使用 SQL Server 数据库邮件功能。但是数据库邮件在我的开发实例上似乎不可用。
对象资源管理器中应该有一个“数据库邮件”节点。在此屏幕截图中,我似乎找不到任何内容。还显示了我的 SQL Server 版本。
此 SQL Server 版本不支持数据库邮件吗?使用数据库邮件需要哪个 SQL Server 版本(或版本)?
我可以在网上找到的所有文档总是假设该功能已经安装,然后继续解释如何配置它。如果我的 SQL Server 版本支持数据库邮件,如何安装/启用该功能?
今天我注意到在 SQL Server 2014 中创建存储过程的过程中出现了一个奇怪的行为。下面是我的测试过程。请解释为什么 SQL Server 不允许用第一个SELECT编译而允许用第二个编译。
CREATE PROCEDURE [dbo].[test]
AS
BEGIN
SET NOCOUNT ON;
IF 1=0 -- this will never occur
BEGIN
select x from Table -- TABLE EXIST BUT COLUMN NOT - STORED PROCEDURE IS NOT CREATED
--Msg 207, Level 16, State 1, Procedure test, Line 25
--Invalid column name 'x'.
-- But if i change
select x from TableWhichNotExistInDatabase -- This table not exist in database, but stored procedure has been created without any …Run Code Online (Sandbox Code Playgroud)