我需要使用 SSMS 缩小流行的 CRM 数据库以将其移动到新服务器上。我将从 SQL Server 2008 Standard 转到 SQL Server 2014 Express。数据库处于简单恢复模式。它需要低于 10 gig 限制。
有 39% 的空间可以擦除,但缩小不起作用。在删除不同表中的 100000 行后,我已经多次执行此操作,包括此数据库,但这次不想缩小。
没有错误只是运行而什么也不做。
sql-server-2008 sql-server shrink sql-server-express sql-server-2014
我已在 SSMS 的 Azure sql 数据库中创建了一个用户。现在尝试向该用户授予对数据库中某些表的选择权限。安全控制选项似乎与本地 SQL Server 有很大不同。如何在 Azure 数据库上执行这些操作?
我已经在本地 SQL Server 上尝试过了,效果很好。但在 azure sql 数据库上运行这些时出现错误。
USE [master]
GO
CREATE LOGIN [jnj_user] WITH PASSWORD=N'P2ssw0rd123', DEFAULT_DATABASE=[CRM], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
USE [CRM]
GO
CREATE USER [jnj_user] FOR LOGIN [jnj_user]
GO
Run Code Online (Sandbox Code Playgroud)
错误:
Msg 40517, Level 16, State 1, Line 3
Keyword or statement option 'default_database' is not supported in this version of SQL Server.
Msg 40508, Level 16, State 1, Line 5
USE statement is not supported to switch between databases. …Run Code Online (Sandbox Code Playgroud) 我正在使用 Always On AG 实现一个新的 HA/DR 架构,以便在 HA 和 DR 场景中使用。
我已经掌握了一种机制来确保在发生故障转移时禁用辅助副本上的作业并启用作业,但现在意识到,一旦发生这种情况,将没有可用的作业历史记录。作业历史记录对于确定在现已解散的主服务器上未运行或失败的内容以及需要在新的主服务器上运行的内容至关重要。
我正在努力寻找任何关于如何克服这个问题并使这些数据在新的主服务器上可用的文档。
有没有人遇到过这个问题,你是如何解决的?
我似乎在这个光标中犯了一个错误,我似乎无法弄清楚我做错了什么。
我已经确认select拉回了 2 行。但是当我将它传递到游标中选择出现字符串时,我可以提取我需要的确切值。这两行看起来像下面这样......
|DATAIDONTWANT|...|DATAIDONTWANT|<|1|DATAIDONTWANT|<|2|DATAIDONTWANT|...|
|DATAIDONTWANT|...|DATAIDONTWANT|<|1|DATAIDONTWANT|<|2|DATAIDONTWANT|...|
Run Code Online (Sandbox Code Playgroud)
光标似乎抓住了第一行并不断循环,永远不会进入下一行或结束程序。
declare
@clobstringP varchar(max),
@clobstring varchar(max);
declare SevenCursor cursor for
select [value] as ClobP
from string_split(@clobstring, '>')
where value like '%<|2|%';
open SevenCursor;
fetch next from SevenCursor into @clobstringP;
while @@FETCH_STATUS = 0
begin
insert into [database].dbo.tablestuff ( ValueP )
select file387
from (
select
RowId387 = row_number() over( order by ( select 1 ) )
,file387 = [value]
from string_split(@clobstringP, '|')
) a
where a.RowId387 = 6;
end;
close SevenCursor;
deallocate …Run Code Online (Sandbox Code Playgroud) 请帮我解释这个声明和计划:
https://www.brentozar.com/pastetheplan/?id=Bysy6YtEV
我们从 Oracle 迁移到 SQL Server,我们有一些非常奇怪的行为。它可能与迁移过程中的问题有关。
我发现很难解释执行计划。两种环境都应该具有相同的结构和索引。统计数据应该是最新的。SQL Server 中的设置:
DB 大小为 600 Gb,16 核,160 Gb 内存。
查询:
SELECT
COUNT ( t_01.rsecondary_objectu ) AS selectExpr
FROM
PIMANRELATION t_01 ,
PITEM t_02 ,
PITEMREVISION t_03
WHERE
( ( ( ( t_01.rprimary_objectu = t_02.puid )
OR ( t_01.rprimary_objectu = t_03.puid )
)
AND
( t_01.rrelation_typeu = 'w8INy241VJFL2B' )
)
AND t_01.rsecondary_objectu = '2yLJkWqiVJFL2B'
)
Run Code Online (Sandbox Code Playgroud)
甲骨文
我们发现问题是相关的,并且取决于数据。如果我选择一个不同的项目在 GUI 中复制(它实际上是一个复制的东西以及应用程序如何执行这些语句),它会立即工作。查询然后一旦工作正常看起来有点不同:https …
performance sql-server execution-plan sql-server-2014 query-performance
在 powershell 中,我用来foreach通过目标列表运行一个函数。
我想知道是否有任何类似于foreachsql 的东西,所以我可以通过我选择的多个数据库运行相同的查询并将结果保存到一个 csv 文件?
我如何通过更改以下脚本来在启用/未启用 Always ON 的环境中运行。在 Kin 提供了一些非常有用的建议之后,下面似乎正在起作用。但是,当我需要跨 300-400 个 SQL 服务器进行部署时,此代码肯定不会处于最佳状态,而有些总是在其他服务器上没有。
请帮我修改/检查实例是否启用了AG并成功执行
更新根据@Kin 的要求
SET NOCOUNT ON
DECLARE @user_to_be_added sysname
SET @user_to_be_added = 'Domain\user'
DECLARE @sqltext nvarchar(max) = N''
if (select serverproperty('IsHadrEnabled')) = 0
BEGIN
-- change to your user to be added .. make sure that the login is already existing
SELECT @sqltext += char(10)+ 'use '+quotename(name)+';'+char(10)+ 'CREATE USER '+quotename(@user_to_be_added)+' FOR LOGIN '+quotename(@user_to_be_added)
FROM sys.databases where state_desc ='ONLINE' AND databaseproperty(name,'isReadOnly') = 0
SELECT @sqltext
END
Else
BEGIN
SELECT @sqltext …Run Code Online (Sandbox Code Playgroud) sql-server availability-groups sql-server-2014 sql-server-2016
这是我们第一次在至关重要的生产数据库上应用 TDE,我有以下问题。
当 TDE 正在进行时:
相关平台是具有可用性组的 SQL Server 2014 SP2 GDR。
sql-server encryption availability-groups transparent-data-encryption sql-server-2014
我有两台电脑。
一台机器运行sqlexpress,实例名为SQLEXPRESS
另一台机器运行 mssqlserver,实例是 MSSQLSERVER。
为什么 sqlexpress 在 .\sqlexpress 上运行而 mssqlserver 只在 .\ 上运行?