Postingan kali ini akan membahas mengenai teori teknologi replikasi dalam SQL Server, karena kebetulan di kantor sedang menerapkan teknologi tersebut.
Menghapus Database SQL
Menghapus database dengan menggunakan query sql jika tidak dapat dihapus dari Management Studio yang biasanya penyebabnya adalah masih ada koneksi yang tidak dapat diputus koneksinya.
IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'NamaDatabase')
DROP DATABASE NamaDatabase
DECLARE @kill varchar(8000) = ''
SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), spid) + ';'
FROM master..sysprocesses
WHERE dbid = db_id(‘NamaDatabase’) and spid > 50 and spid <> @@spid
EXEC(@kill);
Menambahkan User ‘select’ pada Database
Menambahkan user pada salah satu database dengan role hanya dapat memilih.
1. Buka aplikasi Management Studio. Pilih Security
> Logins
> New Login
. Masukkan Nama user dan password serta pilih default database2. Kemudian buat database role baru pada database3. Masukkan nama role dan OK4. Klik kanan pada Database yang akan ditambahkan role baru > Properties
> Permissions
5. Cari role yang telah dibuat6. Pilih grant ‘Select’ > OK
7. Kemudian pada bagian User
di Database > klik Kanan > Properties
8. Pada bagian Membership
> pilih role database yang telah dibuat
Set Multi User Database
Terkadang ketika restore database, kita harus menutup seluruh koneksi yang ada pada database tersebut. Jika dlakukan secara paksa, maka akan membuat database menjadi single user
untuk merubahnya bisa dilakukan dengan query berikut.
ALTER DATABASE NamaDB
SET MULTI_USER;
GO
Status Restore Database tidak berubah
Ketika me-restore database terkadang terjadi error seperti status restore database tidak berubah seperti gambar di bawah ini.
Untuk mengatasi hal tersebut bisa dengan menggunakan query di t-sql dengan me-restore dan menggunakan opsi with recovery.
RESTORE DATABASE NamaDB FROM DISK = 'Path\to\file.bak'
WITH RECOVERY
GO