我在 SQL Server Central 线程中看到完整备份是否会截断日志?完整备份不会截断日志:
不会。完整备份或差异备份都不会截断事务日志。- Lynn Pettis
否 - 完整备份不会截断日志。-查德克劳馥
那么完整备份和仅复制完整备份有什么区别呢?
对于日志备份,只有复制备份可以防止日志链在不截断日志的情况下中断。那么什么是仅复制完整备份?
这个问题与我的旧问题有关。执行以下查询需要 10 到 15 秒:
SELECT [customer].[Customer name],[customer].[Sl_No],[customer].[Id]
FROM [company].dbo.[customer]
WHERE (Charindex('123456789',CAST([company].dbo.[customer].[Phone no] AS VARCHAR(MAX)))>0)
Run Code Online (Sandbox Code Playgroud)
在一些文章中,我看到使用CAST并且CHARINDEX不会从索引中受益。还有一些文章说 usingLIKE '%abc%'不会从索引中受益,而LIKE 'abc%'会:
http://bytes.com/topic/sql-server/answers/81467-using-charindex-vs-like-where /sf/ask/56264841/ -like-queries http://www.sqlservercentral.com/Forums/Topic186262-8-1.aspx#bm186568
在我的情况下,我可以将查询重写为:
SELECT [customer].[Customer name],[customer].[Sl_No],[customer].[Id]
FROM [company].dbo.[customer]
WHERE [company].dbo.[customer].[Phone no] LIKE '%123456789%'
Run Code Online (Sandbox Code Playgroud)
此查询提供与前一个相同的输出。我为 column 创建了一个非聚集索引Phone no。当我执行此查询时,它仅在1 秒内运行。与之前的14 秒相比,这是一个巨大的变化。
如何LIKE '%123456789%'从索引中受益?
为什么列出的文章声明它不会提高性能?
我尝试重写查询以使用CHARINDEX,但性能仍然很慢。为什么不像查询那样CHARINDEX从索引中受益LIKE?
查询使用CHARINDEX:
SELECT [customer].[Customer name],[customer].[Sl_No],[customer].[Id]
FROM [Company].dbo.[customer]
WHERE ( Charindex('9000413237',[Company].dbo.[customer].[Phone no])>0 …Run Code Online (Sandbox Code Playgroud) 在 SQL Server 中,有很多跟踪标志。为什么其中一些需要关闭。在某些地方我看到需要关闭跟踪标志 8017。所以我想知道需要关闭哪个跟踪标志,为什么?
我想使用可以容纳超过 19 位数字的数据类型。那么是否有任何可用的数据类型可以容纳大于 19 位的数字?
In SSMS I saw file size related properties and found below details for one database. Here values does not match with other properties. Here size of the mdf, ldf and total size matches with other values under each window. But Available free space of mdf and ldf if added then it does not equal to Available free space shown in shrink database window and free space shown in database properties. This is true for any database. Why is it so? …
在我们的 Vb.net 应用程序(办公室内部本地网络连接中的用户)中,从很长时间以来,一些用户每天都会遇到错误
向服务器发送请求时发生传输级错误。(提供者:TCP 提供者,错误:0 - 远程主机强行关闭了现有连接。
我已经检查过以下
所有数据库都设置为自动关闭关闭
没发现太多网络问题,网速不错。
当我签入 SSMS 时,服务器属性下的远程查询超时设置为 600 秒
我检查了 sql server 日志,没有发现与之相关的错误或相同的错误消息
那么这个错误的原因可能是什么?以及如何解决它?
我只想获取具有值NULL和其他值而不是NULL特定用户名列的行。
如果该特定用户名的两行都为 null,或者两者都有一些非 null 的值,则它不应出现在输出中。如果同一个用户名有两行以上的空值和一些其他值,那么它们应该出现。
下面是示例示例和输出。如何使用 sql 查询来完成?
+----------+-------+
| username | col2 |
+----------+-------+
| a | abc |
| a | ef |
| b | null |
| b | null |
| c | der |
| c | null |
+----------+-------+
Run Code Online (Sandbox Code Playgroud)
输出
+----------+------+
| username | col2 |
+----------+------+
| c | der |
| c | null |
+----------+------+
Run Code Online (Sandbox Code Playgroud) 我有一个在十几个数据库中使用的函数。我希望这个函数只写一次就可以在所有数据库中访问,所以我想把这个函数写在 master 数据库中,以便我的函数可以轻松访问。
在master db中编写用户定义的函数有什么问题吗?
上网时,有人建议将功能转换为系统功能。(使用“EXEC sp_ms_marksystemobject 'fn_db_name'”)。
是否有必要将master db中创建的函数转换为系统函数?如果是,为什么?
我有一个带有 xml 列的表。XML类似于
<Root>
<Row>
<user>abc</user>
<Rowid>1</Rowid>
</Row>
<Row>
<user>vf</user>
<Rowid>2</Rowid>
</Row>
<Row>
<user>ert</user>
<Rowid>3</Rowid>
</Row>
<Maxrowid>3</Maxrowid>
</Root>
Run Code Online (Sandbox Code Playgroud)
现在下面的查询返回 sl_no 列和包含 xml 列的行的 myxmlcolumn 在节点 'user'() 中具有值 'abc' 或 'xyz'。下面的查询我使用类似于 sql 的 IN 选项。
SELECT
[mytable].[Sl_no],
[mytable].[myxmlcolumn]
FROM [mydb].dbo.[mytable]
WHERE
[myxmlcolumn].exist('for $x in /Root/Row where (($x/user[fn:upper-case(.)=(''ABC'',''XYZ'')])) return $x') > 0
Run Code Online (Sandbox Code Playgroud)
我想要类似的查询,它与 sql 'NOT IN' 做同样的工作。在我的情况下,我希望在 xml 列中的节点“user”() 中没有值“abc”或“xyz”的行。所以请帮我解决这个问题。
我在这里得到了聚集索引和唯一索引之间的区别。但是clustered index和之间的确切区别是unique-clustered index什么?
AFAIK 可以为具有唯一值的列创建聚集索引,如果值重复,则无法设置聚集索引。唯一聚集索引的情况也是如此。
所以我想知道它们之间的区别。
sql-server ×9
index ×2
performance ×2
backup ×1
datatypes ×1
functions ×1
maintenance ×1
ssms ×1
t-sql ×1
tcpip ×1
trace ×1
xml ×1
xquery ×1