小编Mar*_*lli的帖子

恢复所有数据库脚本

我正在将 SQL Server DB 迁移到新实例。

有人告诉我,可以从系统目录中的可用备份动态构建 RESTORE 脚本。

有谁知道一个示例脚本来做到这一点?

谢谢!

sql-server scripting restore catalogs automation

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

SSAS - 什么是内存设置的好起点?

我收到了以下有关 SSAS 内存设置的警报:

警报:
SSAS 2014:无效的 TotalMemoryLimit 配置来源:
MSSQLSERVER 路径:SASBI01
警报时间:9/15/2015 5:38:50 PM

告警描述:
为SSAS实例配置的TotalMemoryLimit(307.1728515625 GB)超过了操作系统必要功能所需的配置阈值,可能导致系统不稳定或故障。

服务器上的总内存: 0 GB 总内存
使用量:0 GB 非 SSAS
进程
使用的内存:-3.89069747924805 GB SSAS 使用的
内存:3.89069747924805 GB SSAS内存限制下限:249.57795715332 GB (0%)
S3725 GB1 上限上限(0%)

SSAS 中这些内存设置的一个好的起点是什么?请看下图。

该服务器仅运行 SSAS。

sql-server ssas memory configuration sql-server-2014

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

运行带有多个命令的脚本时,如何找出我们所处的位置?

我有一些流程需要在开始之前采取不同的步骤。例如:

禁用对外键的检查约束:

select 'alter table '+fk.table_schema+'.'+fk.table_name
+' NOCHECK CONSTRAINT '+fk.CONSTRAINT_NAME 
from SAProduct.information_schema.table_constraints fk 
join SAProduct.information_schema.tables t
on t.table_schema = fk.table_schema 
and t.table_name = fk.table_name 
WHERE constraint_type='FOREIGN KEY'
Run Code Online (Sandbox Code Playgroud)

这将产生一个很大的语句列表,我只复制 3 个:

use saproduct
go
alter table dbo.tblProdClassificationCode NOCHECK CONSTRAINT FK_tblProdClassificationCode_tblProdClassification
alter table dbo.tblProdClassificationCodeDescr NOCHECK CONSTRAINT fk_ProdClassificationCodeDescr_ProdClassificationCode
alter table dbo.tblProdClassificationCodeGenerate NOCHECK CONSTRAINT fk_ProdClassificationCodeGenerate_ProdClassification
Run Code Online (Sandbox Code Playgroud)

如果我要一次性运行它,我将如何找到我的位置?我正在处理哪张桌子,下一张是哪一张?

删除也是一样的:

select 'DELETE FROM '+table_schema+'.'+table_name
from saproduct.information_schema.tables 
where table_name like 'tbl%'
Run Code Online (Sandbox Code Playgroud)

上面的脚本将生成以下语句集:

use saproduct
go
DELETE FROM dbo.tblBLanguage
DELETE FROM dbo.tblBLgCategoryXRef
DELETE FROM dbo.tblBLgSegmentXRef
DELETE FROM dbo.tblProdClassification
DELETE …
Run Code Online (Sandbox Code Playgroud)

monitoring sql-server ssms t-sql sql-server-2014

7
推荐指数
2
解决办法
303
查看次数

在所有数据库中查找存储过程列表的脚本

我需要提取在我的实例中可用的存储过程列表。我使用以下 T-SQL 语句来获取给定数据库中的存储过程。

select * 
from MyDatabase.information_schema.routines 
where routine_type = 'Procedure'
Run Code Online (Sandbox Code Playgroud)

有没有脚本可以获取所有的存储过程或者通过存储过程名称来检查存储过程的数据库名称?

sql-server stored-procedures t-sql

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

如何格式化 OBJECT_DEFINITION 的输出,使其看起来与 sp_helptext 相同?

object_definitionsp_helptext都返回存储过程的源代码 - 但是如何object_definitionsp_helptext当前那样使用和获取包含换行符的源代码?

例如在下面的代码中,我创建了一个存储过程:

if OBJECT_ID('usp_radhe') is not null
   drop procedure usp_radhe
go
-- this procedure is just a test
-- it just returns a date in the past
-- how will I get its source code?
create procedure usp_radhe as 
begin
select dateadd(dd,-31,GETDATE()) 
end 
Run Code Online (Sandbox Code Playgroud)

使用sp_helptext我可以很好地查看源代码:

sp_helptext 'usp_radhe'
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

使用object_definition我在一行中获得源代码,这对我不利:

select OBJECT_DEFINITION(object_id('usp_radhe'))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

sql-server metadata scripting sql-server-2016

7
推荐指数
3
解决办法
8156
查看次数

如何找出运行sql server的帐户?

我刚刚创建了一个代理,我需要向运行 sql server 代理的帐户授予对代理的访问权限。它可能是一个域帐户。

如何使用 T-SQL 找到它?

sql-server dmv sql-server-2014

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

如何生成分区函数和分区模式的创建脚本?

我有一个脚本来生成创建表脚本。你可以在我对这个问题的回答中看到它

但是,现在我需要编写我的分区函数分区方案

关于这个问题here,看到答案有关于如何向表添加分区以及如何从表中删除分区的示例,我想看看任何阶段的脚本。

我找到了这个链接:如何找到应用于表的分区函数文本

如何生成用于创建分区函数和分区模式的脚本?

我正在编写一个脚本来生成create partition function 如下所示的 ,但它仅适用于我自己的PF_year分区函数,因为was很难克服sys.partition_range_values具有sql_variant数据类型作为值的事实。

当我使用案例时,出现以下错误:

消息 206,级别 16,状态 2,第 35 行

操作数类型冲突:int 与日期不兼容

然后在他的精彩回答Dan Guzman 中,向我们展示了SQL_VARIANT_PROPERTY一些我不知道的奇妙事物,现在我是一名新的 DBA 和新人。

   SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
    SELECT
    RADHE = 'CREATE PARTITION FUNCTION' + space(1) + quotename(spf.name) + 
'(' +  
    COALESCE(baset.name,'data type not found') +   ')' + CHAR(13) + 
    'AS RANGE ' + CASE WHEN CAST(spf.boundary_value_on_right AS …
Run Code Online (Sandbox Code Playgroud)

database-design sql-server optimization partitioning sql-server-2014

6
推荐指数
2
解决办法
9949
查看次数

如何在 SQL Server 中获取 CPU 速度?

当我从Glenn Berry运行以下查询时

-- Hardware information from SQL Server 2016  (Query 18) (Hardware Info)
SELECT cpu_count AS [Logical CPU Count], scheduler_count, hyperthread_ratio AS [Hyperthread Ratio],
cpu_count/hyperthread_ratio AS [Physical CPU Count], 
physical_memory_kb/1024 AS [Physical Memory (MB)], committed_kb/1024 AS [Committed Memory (MB)],
committed_target_kb/1024 AS [Committed Target Memory (MB)],
max_workers_count AS [Max Workers Count], affinity_type_desc AS [Affinity Type], 
sqlserver_start_time AS [SQL Server Start Time], virtual_machine_type_desc AS [Virtual Machine Type], 
softnuma_configuration_desc AS [Soft NUMA Configuration],
sql_memory_model_desc -- New in SQL Server 2016 SP1 …
Run Code Online (Sandbox Code Playgroud)

sql-server powershell sql-server-2016 cpu

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

如何从表格中检索大文本?

为了我自己的记录,我在其中一台服务器上有一张表,我喜欢在其中保存我的活动和脚本

表定义是:

IF OBJECT_ID('[dbo].[activity]') IS NOT NULL 
DROP TABLE [dbo].[activity] 
GO
CREATE TABLE [dbo].[activity] ( 
[dt]        DATE                             NOT NULL,
[i]         SMALLINT                         NOT NULL,
[activity]  NVARCHAR(max)                     NOT NULL,
[script]    NVARCHAR(max)                     NULL  
           CONSTRAINT [DF__activity__script__6E01572D] DEFAULT (NULL))

GO
CREATE CLUSTERED INDEX [pk_activity] 
   ON [dbo].[activity] ([dt] desc, [i] desc)
Run Code Online (Sandbox Code Playgroud)

由于该表位于DBADBA_SERVER服务器上的数据库中,因此我从本地计算机创建了一个linked server到该表,DBA_SERVER以便我可以将脚本插入到我的表中。

这就是我将脚本插入我的表的方式,该脚本位于我的本地机器上:

    INSERT INTO [MY_DBA_SERVER].[DBA].[dbo].[activity]
               ([dt]
               ,[i]
               ,[activity]
               ,[script])
    SELECT
               DT=cast ('3 may 2018' as date)
               ,I=1100
               ,ACTIVITY='MOVE APPLICATION ROWS - the Ids work'
               ,[script]=BulkColumn 
    FROM …
Run Code Online (Sandbox Code Playgroud)

sql-server blob openrowset sql-server-2016 bulk-insert

6
推荐指数
3
解决办法
3699
查看次数

SSAS 数据库的管理员权限

我有一家第三方公司过来建立 ssas 数据库来生成报告。

他们做到了,但现在 DBA 想要查看,但我没有权限,甚至无法查看这些数据库,如下图所示。

我可以授予自己管理员权限吗?

我是系统管理员。有一个名为SQLDBA和的 AD 组

在此处输入图片说明

当右键单击 server-properties-security-Add- 然后添加我的 AD 组时,SQLDBA它说我没有alter服务器对象的权限,如下图所示。

我之前已将该sqldbaAD 组作为管理员添加到该框中。

在此处输入图片说明

标题:Microsoft SQL Server 管理工作室

“mycompany\MMiorelli”用户无权更改“myserver\instance”对象,或者该对象不存在。(Microsoft.AnalysisServices.AppLocal.Core)


纽扣:

好的

sql-server ssas permissions ssas-2016

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