Quantcast
Channel: ppedv Team Blog - SQL
Viewing all articles
Browse latest Browse all 110

Nachlese zur SQL Azure Development Session beim SQL Server Launch 2012

$
0
0

Die gezeigten Folien zur Session gibt es hier:

PDF File

 

Um die beiden Beispiele nachzuspielen, stelle ich hier die Skripts Online.

Beispiel zu Migration

Die Migration von SQL on Premise zu SQL Azure kann mittels Bulk Copy realisiert werden. Hier zeige ich das Skript zum Übertragen aller Tabellen einer Datenbank nochmals:

$sqlroot = "C:\Program Files\Microsoft SQL Server\110\"
$bcp = "$sqlroot\Tools\binn\bcp.exe"
$sqlcmd = "$sqlroot\Tools\binn\sqlcmd.exe"
 
$dbLocal = "Northwind"
$dbAzure = $dbLocal
 
$ServerAzure ="ng7fvgv5qy"
$UserAzure = "username"
$PWDAzure ="passwort"
 
$ServerAzureFull = $ServerAzure + ".database.windows.net"
 
 
function TransferTable($tbl)
{
    Write-Host "Export Table: $tbl" -ForegroundColor Blue
    $arg = "[$tbl]", "out", "$tbl.dat", ,"-n",  "-T" , "-E", "-d$dbLocal"
& $bcp $arg
    Write-Host "Import Table: $tbl" -ForegroundColor Blue
    $arg = "[$tbl]", "in", "$tbl.dat", "-U$UserAzure@$ServerAzure", "-P$PWDAzure", "-d$dbAzure", "-S$ServerAzureFull","-N", "-E"
& $bcp $arg
    Write-Host "Import fertig" -ForegroundColor Green
}
 
function TransferAll()
{
    [void][reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo")
    $smsrv = New-Object Microsoft.SqlServer.Management.Smo.Server "."
    $smodb = $smsrv.databases[$dbLocal]
    $smodb.Tables | % {
        TransferTable $_.Name
    }
}
 
TransferAll

Im Skript werden mittels SQL Server Managementobjects alle Tabellen einer Datenbank identifiziert. (function TransferAll())

Pro Tabelle wird mittels  BCP Utility zunächst die Tabelle exportiert und dann in SQL Azure importiert.

Diese Methode setzt voraus, dass in SQL Azure die Datenbank Struktur bereits besteht.

Demo zu Federation

wer das Demo zur Federation nachspielen möchte, findet meine Beispiel Skripts hier. Einfach auf eine SQL Azure Datenbank verbinden und nachspielen. Die Demos gehen, davon aus, dass in der SQL Azure Datenbank ein Verbund (das ist die deutsche Übersetzung für Federation) mit dem Namen “mandanten_fed” und gleichlautendem Federatiokey angelegt ist.

Tabellen anlegen

use federation Mandanten_fed (Mandanten_fed =1) With Reset, Filtering = off
 
go
 
-- 1 -- Kunden
 
 
CREATETABLE Kunden
(
       ID intnotNull,
       MandantenID intnotNull,
       Name nvarchar(50) Null,
       CountryID intNull,
 
 
CONSTRAINT PK1 PRIMARYKEY (ID, MandantenID)
) FEDERATED ON (mandanten_fed = MandantenID)
 
GO
 
 
--2 -- Country
CREATETABLE [dbo].[Country](
 [ID] [int] NOTNULL,
 [Country] [varchar](50) NOTNULL,
CONSTRAINT [PK_Country] PRIMARYKEYCLUSTERED
(
 [ID] ASC
 )WITH (STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF)
 )
 
-- 3 -- Reference
ALTERTABLE [dbo].[Kunden]  WITHCHECKADDCONSTRAINT [FK_Kunden_Country] FOREIGNKEY([CountryID])
REFERENCES [dbo].[Country] ([ID])  
GO
ALTERTABLE [dbo].[Kunden] CHECKCONSTRAINT [FK_Kunden_Country] 
GO
 
 
 

Demo Daten einspielen

use federation Mandanten_fed (Mandanten_fed =30) With Reset, Filtering = offgo

INSERT INTO Country VALUES (1, 'Germany')
INSERT INTO Country VALUES (2, 'Austria')   
INSERT INTO Country VALUES (3, 'Swiss')

--mandant 10
insert into Kunden values (1,10,'ppedv AG', 1)
insert into Kunden values (2,10,'ppedv GmbH', 2)

--Mandant 20
insert into Kunden values (3,20, 'Microsoft  D',1)
insert into Kunden values (4,20, 'Microsoft  A',2)


--Mandant 30
insert into Kunden values (5,30, 'Contoso D',1)
insert into Kunden values (6,30, 'Contoso  A',2)

Datenabfrage mit Filtering On und Off

-- Filtering = OFF
use federation Mandanten_fed (mandanten_fed = 10) with Reset, filtering = off
go
 
select * from Kunden k 
innerjoin country c on k.countryID = c.id
 
-- Filtering = ON
use federation Mandanten_fed (mandanten_fed = 20) with Reset, filtering = on
go
 
select * from Kunden k 
innerjoin country c on k.countryID = c.id

Split der Datenbank durchführen

USE FEDERATION ROOT WITH RESET   
GO
 
ALTER FEDERATION Mandanten_Fed SPLIT AT (mandanten_Fed = 15)
GO

Viewing all articles
Browse latest Browse all 110

Latest Images

Trending Articles


Vimeo Create - Video Maker & Editor 1.5.2 by Vimeo Inc


Vimeo 11.8.2 by Vimeo.com, Inc.


Long Distance Relationship Tagalog Love Quotes


Love with Heart Breaking Quotes


RE: Mutton Pies (frankie241)


FORECLOSURE OF REAL ESTATE MORTGAGE


Vimeo 11.6.1 by Vimeo.com, Inc.


Doodle Jump 3.11.34 by Lima Sky LLC


Hato lada ym dei namar ka jingpyrshah jong U JJM Nichols Roy (Bah Joy) ngin...


FORTUITOUS EVENT


Vimeo 11.6.0 by Vimeo.com, Inc.


Vimeo 10.7.0 by Vimeo.com, Inc.


Letting Go Quotes


Re:Mutton Pies (lleechef)


Ka longiing longsem kaba skhem bad kaba khlain ka pynlong kein ia ka...


Vimeo 10.7.1 by Vimeo.com, Inc.


Vimeo 11.8.1 by Vimeo.com, Inc.


Doodle Jump 3.11.35 by Lima Sky LLC


UPDATE SC IDOL: TWO BECOME ONE


KASAMBAHAY BILL IN THE HOUSE



Latest Images