簡體   English   中英

SQL 服務器錯誤“操作數類型沖突:varchar 與 int 不兼容”

[英]SQL Server error "Operand type clash: varchar is incompatible with int "

我已經制作了以下用於備份數據庫的存儲過程

CREATE PROCEDURE [dbo].[usp_databasebackup]  
    @DatabaseName NVARCHAR(200),
    @Path NVARCHAR(500)
AS
BEGIN
    SET NOCOUNT ON;

    DECLARE @sqlQuery  VARCHAR(5000)  

    BEGIN
        SET @sqlQuery = ' BACKUP DATABASE ['+@DatabaseName+'] TO DISK = N''D:\@DatabaseName.bak'' 
                          WITH COPY_ONLY, NOFORMAT, NOINIT, NAME = N''@DatabaseName-Full Database Backup'', 
                          SKIP, NOREWIND, NOUNLOAD, STATS =''10'' '

        EXEC (@sqlQuery)
    END
END
GO

當我使用數據庫名稱和路徑作為參數執行存儲過程時,出現此錯誤:

操作數類型沖突:varchar 與 int 不兼容

您可以在不使用動態 SQL 的情況下備份數據庫。

你只需要像這樣使用備份命令

backup database @DatabaseName
to disk=@DiskName
with name=@Name,
compression, format, init, skip, norewind, nounload, stats=10

@DatabaseName應該是sysname

在備份命令中使用變量之前,您需要准備/連接名稱和路徑 - 即, @DiskName將是帶有“.bak”后綴的pathfilename的連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM