标签: sql-server-2005

缩小镜像 SQL Server 2005 数据库的事务日志

我一直在寻找互联网上的所有内容,但找不到可以解决我的问题的可接受的解决方案,我想知道是否有没有妥协的解决方案......

我不是 DBA,但我是一个单人团队,在一个巨大的网站上工作,没有额外的资金用于额外的机构,所以我正在尽我所能。

我们的备份计划很糟糕,我很难改进它。目前,有两台服务器运行 SQL Server 2005。我有一个似乎运行良好的镜像数据库(无见证)。我在中午和午夜进行完整备份。这些由我们的服务提供商每晚备份到磁带上,我每周将备份文件刻录到 DVD 中,以保留手头的旧记录。最终我想切换到日志传送,因为如果没有见证服务器,镜像似乎毫无意义。

问题是事务日志不断增长。从我所做的研究来看,我似乎无法截断镜像数据库的日志文件。那么如何阻止文件增长!?

基于这个网页,我试过这个:

USE dbname
GO
CHECKPOINT
GO
BACKUP LOG dbname TO DISK='NULL' WITH NOFORMAT, INIT, NAME = N'dbnameLog Backup', SKIP, NOREWIND, NOUNLOAD
GO
DBCC SHRINKFILE('dbname_Log', 2048)
GO
Run Code Online (Sandbox Code Playgroud)

但这没有用。我发现的其他所有内容都表明我需要在运行备份日志命令之前禁用镜像才能使其工作。

我的问题 (TL; DR)

如何在不禁用镜像的情况下缩小我的事务日志文件?

database sql-server sql-server-2005 transaction-log mirroring

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

SQL Server 2005 ENCRYPTBYKEY 返回 null

DECLARE @EmailEnc varbinary(maX)
declare @keyid uniqueidentifier
DECLARE @Email_test nvarchar(max)
set @Email_test = N'Sg@hotmail'
SELECT top 1 @keyid=[key_guid] FROM sys.symmetric_keys order by newid()
SET @EmailEnc=CAST(ENCRYPTBYKEY(@keyid,@Email_test) AS varbinary(max))
select @Email_test,@keyid,@EmailEnc
Run Code Online (Sandbox Code Playgroud)

结果


Sg@hotmail D790AE00-63FC-4BC5-8182-073BACDF1B12 NULL (1 行受影响) 为什么是 Null ?? 有任何想法吗??

encryption sql-server-2005

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

如何获取在特定帐户下在 UAT 服务器上运行的 Java 进程列表及其 PID(进程 ID)?


问题:

在 UAT 服务器上部署 jar 文件失败。

原因:

因为当我们尝试重命名它时,它显示“无法重命名其他用户使用的文件”。

为解决问题而选择的步骤


登录 UAT 服务器(xxx)。
我们需要 Java 进程列表以及我们的 UAT 服务器上的 PID,该服务器在帐户 XXXAPPFUNC 下运行。
请告诉我我该怎么做?
提前致谢。

java sql-server oracle sql-server-2005

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

在 SQL 中出现 AS 错误

我收到如下所示的错误:

Msg 156, Level 15, State 1, Procedure Sp_Table1, Line 22
Incorrect syntax near the keyword 'AS'.
Run Code Online (Sandbox Code Playgroud)

执行此 SQL 时:

WITH myCTE AS
(Select mci.* from
view_name AS si
JOIN merch_catalog_ipt_view_name AS mci
  ON mci.view_id = si.view_id
  AND mci.resolved_view_name_id = si.view_name_id
  AND mci.ctg_ipt_event_id = @ctg_ipt_event_id
  AND mci.accept_flag = 'y')

UPDATE view_name
SET name = (select mci.name from myCTE where myCTE.view_id = view_id)
,view_name_ctg_id = (select mci.resolved_view_name_ctg_id from myCTE where myCTE.view_id = view_id)
,xref_value = (select mci.xref_value from myCTE where myCTE.view_id …
Run Code Online (Sandbox Code Playgroud)

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

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

文本到浮点数或十进制转换

我需要 SQL 查询方面的帮助。

我有一张像

一个 | 乙 | C
1 | 1.3 | p
2 | 2.6 | C

字段 (A- type int) (B--type(text)) (C-Type(nvarchar))

我需要乘以(某些值与(B 类型(文本))示例(1.3 X b)),因为 x is it possible 。

请让我知道

sql sql-server-2005

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

如何以系统管理员身份运行存储过程?

我不想授予用户 Sysadmin 角色。有没有办法以系统管理员或系统管理员的身份运行特定的存储过程?存储过程在 MSSQL 2005 中并具有 xp_cmdshell 下面是代码:

ALTER PROCEDURE [dbo].[procExcelQuotebyItem] 
(
    @OrderNumber INT
)
AS

BEGIN
SET NOCOUNT ON


DECLARE @Cmd varchar(1000)
DECLARE @fn varchar(500)
DECLARE @provider varchar(100)
DECLARE @ExcelString varchar(100)

--  New File Name to be created
SET @fn = 'D:\Pre-Manufacturing\Excel\QuotebyItem.xls'

/*Cleanup*/

SET @Cmd = 'DEL ' + @fn
EXEC xp_cmdshell @Cmd, no_output

--  FileCopy command string formation
SET @Cmd = 'Copy D:\Pre-Manufacturing\Excel\QuotebyItemTemplate.xls ' + @fn

--  FileCopy command execution through Shell Command
EXEC MASTER..XP_CMDSHELL @cmd, NO_OUTPUT

-- …
Run Code Online (Sandbox Code Playgroud)

stored-procedures sql-server-2005 xp-cmdshell

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

SQL 不会根据确切日期提取记录

我导出了记录,我想知道在特定日期导出了哪条记录。这是行不通的。如果我查询它,这是数据。

* comapny Name *     * date exported *
ABC Company, Inc    2011-08-01 15:44:52.857
XYZ Company, Inc    2011-08-01 15:44:52.857
Run Code Online (Sandbox Code Playgroud)

我发出此命令,它不会检索精确匹配项

select companyname, exporteddate from mytable exporteddate = '2011-08-01' <- does not work
select companyname, exporteddate from mytable exporteddate like '%2011-08-01%' <-- tried this variation too and many other, did not work
Run Code Online (Sandbox Code Playgroud)

有趣的是 >=, >, <= 有效。真正的问题是什么?导出的日期声明为日期时间字段。

select companyname, exporteddate from mytable exporteddate >= '2011-08-01' <- this works
Run Code Online (Sandbox Code Playgroud)

我使用的是 Windows XP、MS-SQL 2005 SP3(不完全但接近)。

sql sql-server sql-server-2005 date exact-match

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

为什么创建索引需要很长时间?

我正在使用 SQL Server 2008。

我正在我的数据库中的一个表上创建一个非集群索引。

我在创建该索引时看到的是查询花费了很多时间;就我而言,现在 8-9 分钟已完成,但仍在运行创建索引查询。

有人可以帮我弄明白为什么会这样吗?

sql sql-server-2005 sql-server-2008

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

解析字符串的存储过程

我需要编写一个输入为字符串的存储过程。

输入字符串包含变量名及其值,由管道分隔符分隔,如下所示:

Name =Praveen | City=Hyderabad | Mobile=48629387429| Role=User| etc
Run Code Online (Sandbox Code Playgroud)

在存储过程中,我已经声明了像@x, @y, @z, @t获取值一样的 变量

@x=Praveen (Name value)
@y=Hyderabad (City Value)
@z=48629387429(Mobile Value)
@t=User(Role Value)
Run Code Online (Sandbox Code Playgroud)

输入字符串也可以具有任何顺序的值,例如

City=Hyderabad | Mobile=48629387429 | Role=User | Name =Praveen |etc
Run Code Online (Sandbox Code Playgroud)

一旦我@x, @y, @z, @t将这些值解析为etc ,我就必须在存储过程中使用这些值。

请告诉我如何解析输入字符串以分别获取Name, City, Mobile, Role into@x, @y, @z和的值@t

sql-server stored-procedures sql-server-2005 sql-server-2008

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

需要制作一个.bat文件来停止,然后重新启动SQL Server数据库

我们有一个使用SQL Server 2005作为数据库的Dexis牙科X射线安装程序。为了备份数据,我必须打开SQL Server配置管理器,停止数据库,然后运行Backup Exec。完成后,我必须重新启动数据库。

我需要能够在Backup Exec 16中使其自动化,因此我认为我将创建一个批处理文件,该文件在备份之前运行以停止数据库。然后,我可以执行第二批重新启动。

谁能给我一个Dos box命令,该命令将停止然后重新启动SQL Server数据库?

谢谢。


我认为备份MDF和LDF文件只会备份数据库,而不会备份实际数据。我还认为您必须停止数据库才能获得对数据的访问权限。

令人惊讶的是,Dexis技术支持人员没有白皮书,没有协议,也没有关于如何备份数据的建议。

有什么合适的方法来备份整个数据库,以便在服务器崩溃时,我们可以轻松地重新创建数据库和数据?

sql sql-server-2005

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