シナリオ:
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のデータを使用して既存のテーブルから新しいテーブルをすばやく作成する方法