text: USE master;
  GO
  
  DECLARE @restoreStatement NVARCHAR(4000) = N'';
  DECLARE @databaseName     SYSNAME        = N'AdventureWorks2014';
  DECLARE @backupFilePath   NVARCHAR(2000) = N'G:\YaDisk\Backup\Distrib\SQL Server\Sample_Database\AdventureWorks\' + @databaseName + N'.bak';
  DECLARE @serverPath       NVARCHAR(2000) = N'K:\MSSQL\MSSQL14.MSSQLSERVER\MSSQL\DATA\';
  DECLARE @debug            BIT = 1;
  
  SET @restoreStatement = N'
  RESTORE DATABASE [@databaseName] FROM  DISK = N''@backupFilePath''
  WITH  FILE = 1,  MOVE N''@databaseName_Data'' TO N''@serverPath@databaseName_Data.mdf'',
  MOVE N''@databaseName_Log'' TO N''@serverPath@databaseName_Log.ldf'',  NOUNLOAD,  STATS = 5';
  SET @restoreStatement = REPLACE(@restoreStatement, '@databaseName',   @databaseName);
  SET @restoreStatement = REPLACE(@restoreStatement, '@backupFilePath', @backupFilePath);
  SET @restoreStatement = REPLACE(@restoreStatement, '@serverPath',     @serverPath);
  
  IF @debug = 1 PRINT(@restoreStatement)
  ELSE
  EXEC sp_executesql @restoreStatement;
  GO
  