In fact SQL Server gives us everything we need with a Stored Procedure that is called sp_spaceused. But this SP does not support iterating over the tables in some database, so we needed to leverage another Stored Procedure sp_msForEachTable, but this is undocumented.
Thursday, December 30, 2010
How To Get/Retrieve Size Of Tables In SQL Server Databases
In fact SQL Server gives us everything we need with a Stored Procedure that is called sp_spaceused. But this SP does not support iterating over the tables in some database, so we needed to leverage another Stored Procedure sp_msForEachTable, but this is undocumented.
Friday, December 10, 2010
Update Statement in SQL
This will update column1 and column2 in a table for all rows/records.
Update Table_Name set column1 = value1, column2 = value2
This will update column1 and column2 in a table for the records that are filtered by using the criteria in WHERE clause.
Update Table_Name set column1 = value1, column2 = value2 Where columnX = valueX
Tuesday, December 7, 2010
Insert Into statement in SQL
You may write this statement in two different styles.
INSERT INTO my_table VALUES (value1, value2,...)
This is used when you don't want to specify column names during insert operation. so you have to specify the values for columns in same sequence as they appear in database table.
INSERT INTO my_table(column1,column4) VALUES (value1, value4)
This is used when you exactly want to specify column names for which values will be inserted during insert operation.
Monday, December 6, 2010
Order By Keywork in SQL
AND & OR Operators in SQL
The AND & OR Operators
The AND operator displays a record only when the first condition and the second condition both are trueThe OR operator displays a record only if the first condition or the second condition is true
Where clause in SQL
When you want to select, update or delete records, you may use where clause to filter records on which operation will be performed. It is to filter result set on the basis of some criteria, or you may say that it will fetch only those records that fulfill criteria.
"=" can be replaced with any of the following operators.
= | Equal |
<> or != | Not equal |
> | Greater than |
< | Less than |
>= | Greater than or equal |
<= | Less than or equal |
BETWEEN | Between an inclusive range |
LIKE | Search for a pattern |
IN | If you know the exact value you want to return for at least one of the columns |
Select statement in SQL
Syntax of SQL
Meanings of SQL
Location of Data Files in SQL Server
Friday, December 3, 2010
RFID Working Frequencies
1. LF (Low Frequency)
Radio wave having a long wavelength
Wednesday, December 1, 2010
Mifare Standards
Mifare is a term for NXP semiconductors that are used under the ISO standard 14443 for Type-A 13.56 MHz contactless smart cards or proximity cards.
ISO 14443 also has 4 sub parts that differentiated as per aspect of the some interface
ISO 14443-1:2000 Physical characteristics
ISO 14443-2:2001 Radio frequency power and signal interface
ISO 14443-3:2001 Initialization and anti-collision
ISO 14443-4:2001 Transmission protocol
Following is the list overview of mifare smartcard ICs standards.
MIFARE Ultralight
This can be easily used as disposable public transport tickets. This only has a unique 7 byte serial number with no memory for user data storage.
MIFARE Ultralight C
This is same as mifare ultralight but with the option of open cryptography and anti-cloning functionality.
MIFARE Classic 1K
This is mostly used for access management applications. This has a unique serial number either 4 Byte or 7 Byte along with 1 kbyte EEPROM out of which 768 Bytes are available.
MIFARE Classic 4K
Another version of mifare classic with 4 kbyte EEPROM out of which 3480 Bytes are available.
MIFARE Plus
Another version of mifare classic that comes with more security. This has 2 or 4-KBEEPROM with 2 AES keys (2 x 128 bit sector)
MIFARE DESFire EV1
This is fully compient with 14443 A 1-4. This has fast programming feature with 2 Kbytes, 4 Kbytes and 8 Kbytes EEPROM, and crypto algorithms i.e. DES, 3DES, 3KDES and AES.
Mifare Standards History
1994 > MIFARE Classic 1k
1996 > MIFARE Classic 1k (transport scheme)
1997 > MIFARE PRO (Triple DES)
1999 > MIFARE PROX (PKI coprocessor)
2001 > MIFARE UltraLight
2002 > MIFARE DESFire
2004 > MIFARE DESFire SAM
2006 > MIFARE DESFire EV1
2008 > MIFARE Plus
2008 > MIFARE Ultralight C
2010 > MIFARE SAM AV2
Wednesday, November 24, 2010
SQL Server Assignment Operator (=)
DECLARE @AnExpression INT; SET @AnExpression = 87;
SQL Server Arithmetic Operators (%)
Select 47 / 7 AS IntValue, 47 % 7 AS RemValue;
Result: 6, 5
Tuesday, November 23, 2010
SQL Server Arithmetic Operators (/)
SQL Server Arithmetic Operators (*)
SQL Server Arithmetic Operators (-)
DECLARE @someNumber int; SET @someNumber = 191;
SELECT '200' - @someNumber;
Result = 9
DECLARE @initialdate datetime, @someNumber int;
SET @initialdate = ''June 26, 1982 07:33 AM';
SET @someNumber = 3;
SELECT @initialdate - @someNumber AS 'Final Date';Result = 1982-06-23 07:33:00.000
SQL Server Arithmetic Operators (+)
DECLARE @someNumber int; SET @someNumber = 191;
SELECT '200' + @someNumber;
Result = 391
DECLARE @initialdate datetime, @someNumber int;
SET @initialdate = ''June 26, 1982 07:33 AM';
SET @someNumber = 3;
SELECT @initialdate + @someNumber AS 'Final Date';Result = 1982-06-29 07:33:00.000
Wednesday, October 20, 2010
Version history in your database using Microsoft Visual Studio 2010
Version history in your database using Microsoft Visual Studio 2010
In this blog post you will find a little technique that we use in order to store a version history of our deployments. Please check that this requires a working knowledge of datadude so if you don’t know what the terms SQLCMD variables, Post-Deployment script, msbuild & Continuous Integration means to then this blog post may not be referred to for you :)
First we Need a table
First we need a table for the storage of our version history, in this case lets called it BuildVersion and it definitely looks like the following
CREATE TABLE dbo.[BuildVersion]
(
BuildVersion NVARCHAR(20) NOT NULL,
Deployed DATETIME NOT NULL
)
Second we Need a project variable
Here we have a SQLCMD variable declared as part of our project that is meant to store a version number. By default in datadude SQLCMD variables are declared in a file that is called Database.sqlcmdvars:
we have a variable called ‘BuildVersion’ that are default to the value of “Unknown”
Here we Need to populate the table
We are using the value in our ‘BuildVersion’ variable to fill our BuildVersion table and we do that within a Post-Deployment script here by using the following code sample that you may see what happen next :)
INSERT [dbo].[BuildVersion]([BuildVersion],
[Deployed])
VALUES ('$(BuildVersion)',
GETDATE())
--$(Here BuildVersion is a SQLCMD variable declared within this project)
And here we need to tell our mechanism what the build number really is
First we need to make sure that $(BuildVersion) has a value in it. As we are deploying our database as part of a continuous integration build (leveraging msbuild) then we can pass in a value from our msbuild script. Find the code that we use to do that:
<Exec Command="..\VSDBCMD\vsdbcmd.exe /Action:Deploy /ConnectionString:"Data Source=$(Server);Integrated Security=True" /DeployToDatabase:+ /ManifestFile:"..\MyDB.deploymanifest"/p:BuildVersion="$(BuildLabel)"" />
The important bit for what we are discussing here is that last part (underlined):
/p:BuildVersion="$(BuildLabel)"
The /p directive is used to populate a named variable (in our case it is BuildVersion) with a value. In our case than value is grabbed from an msbuild property which in this case, is referred to by $(BuildLabel). [Please note that managing msbuild properties is outside the scope of this article.]
Lets Wrap-up
That’s really what you need. If it all remains together correctly then [BuildVersion] will surely contain a nice history of all your deployments
I hope this is useful for you. I guess the same technique will also work in earlier versions of datadude but I don’t have any to hand so can’t about it.
Monday, September 27, 2010
Technology in the line of Extinction
Following are few technologies that are on the edge of extinction or some already extinct :)
Wednesday, June 30, 2010
Microsoft SQL Server 2000 Alternative
Tuesday, June 15, 2010
Get application name for current session in SQL server
SELECT APP_NAME()
Get current user name in SQL server
SELECT CURRENT_USER
Get current login name in SQL server
SELECT SYSTEM_USER
Get client IP address in SQL server
DECLARE @IP_Address varchar(255)
PRINT @IP_Address