シナリオ:
SQL Server開発者として作業している場合、テーブルからデータを更新または削除するには、更新または削除スクリプトを提供する必要があります。これらのレコードのバックアップを取るか、テーブルが小さい場合は、テーブル全体をバックアップする必要があります。更新または削除ステートメントを実行します。テーブル全体、または更新または削除ステートメントを実行する必要があるレコードのみをどのようにバックアップしますか?
解決策:
SQL Serverは、テーブルレベルのバックアップを提供しません。テーブルのバックアップを取りたいと言うときは、レコードを含む既存のテーブルのコピーを作成することを意味します。たとえば、レコードが少ないdbo.Customer Tableがあり、バックアップテーブルを作成する場合を考えてみましょう。 dbo.Customber_Bkp_TodayDate、以下のスクリプトを使用できます
最初にサンプルレコードを使用してdbo.Customerテーブルを作成します
USE yourDatabaseName Go Create Table dbo.Customer( Id int identity(1,1), FName VARCHAR(50), LName VARCHAR(50), Age int, DOB Date, Salary Numeric(6,2)) --Use the Insert Into with Values single Statement Insert into dbo.Customer Values('Aamir','Shahzad',36,'1980-01-01',5000.50), ('Raza','M',33,'1983-03-03',4900.34), ('John','Smith',26,'1990-04-05',5000.50)次に、dbo.Customerに存在するすべてのレコードを使用してdbo.Customber_Bkp_TodayDateバックアップテーブルを作成しましょう。
Select * into dbo.Customber_Bkp_20160507 from dbo.Customer
レコードを含む新しいテーブルを作成するには、上記のようにOldTableからIntoNewTableを使用する必要があります。
FName ='Aamir'のレコードのみをコピーする場合、クエリは次のようになります。以下。
Select * into dbo.Customber_Bkp_20160507_OnlyAamir from dbo.Customer where FName='Aamir'
上記のスクリプトを実行し、必要なレコードで作成されているかどうかテーブルを確認します。
SQLServerの既存のSQLServerテーブルから新しいテーブルにレコードをバックアップする方法 |
ビデオデモで使用されるスクリプト:
--Take the backup or create table for all records Select * into [YourDBName].dbo.Customer_20160510 from [dbo].[Customer] --Create table for selected records Select * into [YourDBName].dbo.Customer_20160510_TwoRecords from [dbo].[Customer] where id<=2 --Check if table is created successfully Select * From [YourDBName].dbo.Customer_20160510_TwoRecords Select * from [dbo].[Customer] --Update Records in current table update [dbo].[Customer] set LName=LName+' Test' where id<=2 --Update records in current table from backup table update d set d.LName=s.LName from [YourDBName].dbo.Customer_20160510_TwoRecords s inner join [dbo].[Customer] d on s.id=d.id
ビデオデモ:SQLServerのデータを使用して既存のテーブルから新しいテーブルをすばやく作成する方法